#include<stdlib.h>
#include"personnel.h"



void saisie_personnel(void)
{int i;
 
 personnel medecin ;
 FILE *fichier_medecin ;
 fichier_medecin = fopen("personnel.txt","w");
 if (fichier_medecin != NULL ) 
  { 
    do
     { printf("donner le nom du medecin  ");
       fflush(stdin);
       scanf("%s",(medecin.nom));

    printf("donner le prenom du medecin  ");
    fflush(stdin);
    scanf("%s",(medecin.prenom));
  
    printf("donner le matricule du medecin  ");
    fflush(stdin);
    scanf("%d",&(medecin.matricule));

    printf("donner la specialite du medecin   ");
    fflush(stdin);
    scanf("%s",(medecin.specialite));
      
      fprintf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),(medecin.matricule),(medecin.specialite));
      
      }
    while (fscanf (fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite)) !=EOF);
  fclose(fichier_medecin);
  } 
}



void ajouter_personnel (int ID)
{ int test ;
personnel medecin ;
FILE *fichier_medecin  ;
fichier_medecin=fopen("personnel.txt","r");
test =0;
while(!feof(fichier_medecin) && test == 0 )
{  
fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite));
if (ID==(medecin.matricule))
       test=1;
}
fclose(fichier_medecin); 

fichier_medecin=fopen("personnel.txt","a");

 if (test == 0)
  { printf("donner le nom du medecin que vous voulez ajouter ");
    fflush(stdin);
    scanf("%s",(medecin.nom));

    printf("donner le prenom du medecin que vous voulez ajouter ");
    fflush(stdin);
    scanf("%s",(medecin.prenom));
  
    printf("donner le matricule du medecin que vous voulez ajouter ");
    fflush(stdin);
    scanf("%d",&(medecin.matricule));

    printf("donner la specialite du medecin que vous voulez ajouter  ");
    fflush(stdin);
    scanf("%s",(medecin.specialite));
     
    fprintf (fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),(medecin.matricule),(medecin.specialite));
     }
else printf("le medecin deja existe");
    fclose(fichier_medecin); 
 
}


void supprimer_personnel(int ID)
{
personnel medecin;
 FILE *fichier_medecin; 
 FILE *fichier_aide;

     fichier_medecin=fopen("personnel.txt","r");
     fichier_aide=fopen("trans.txt","w");
     
  



  while (fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite))!=EOF)
	if ( ID!=(medecin.matricule)) 
		{ fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite));
		  fprintf(fichier_aide,"%s %s %d %s",(medecin.nom),(medecin.prenom),(medecin.matricule),(medecin.specialite));
		
  fclose(fichier_medecin);
  fclose(fichier_aide);
  remove("personnel.txt");
  rename("trans.txt","personnel.txt");}


 
  else 
	printf("le matricule que vous tentez de supprimer n'existe pas");	
}



void modifier_personnel_matricule (int ID)
{ 
int choix;
personnel medecin;
  FILE *fichier_medecin;
  FILE *fichier_nv; 
char nom[10] ;
char prenom[10] ;
char specialite[10] ;
int matricule;
  


 fichier_nv=fopen("fnv.txt","w");
 fichier_medecin=fopen("personnel.txt","r");

   while ( fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite))!=EOF)
   if ((medecin.matricule)!= ID)
     { fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite)); 
       fprintf(fichier_nv,"%s %s %d %s",(medecin.nom),(medecin.prenom),(medecin.matricule),(medecin.specialite));
     } 


   else if ((medecin.matricule)==ID)
    { do
 	{printf("si vous voulez modifier le nom saisir 1 ");
 	scanf("%s" , nom);
 	printf("si vous voulez modifier le prenom saisir 2" );
	scanf("%s",prenom);
	printf("si vous voulez modifier le matricule saisir 3" );
	scanf("%d", &matricule);
 	printf("si vous voulez modifier la specialite saisir 4" );
	scanf("%s", specialite);}
    while (choix <1 || choix >4);
	switch (choix)
		{case 1 : strcpy(medecin.nom,nom) ;
	   	           break;
 		 case 2 : strcpy(medecin.prenom,prenom) ;
                           break;
                 case 3 : (medecin.matricule)=matricule ;
                           break;
                 case 4 : strcpy(medecin.specialite,specialite) ;
                           break;
                }


	fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite)); 
 	fprintf(fichier_nv,"%s %s %d %s",(medecin.nom),(medecin.prenom),(medecin.matricule),(medecin.specialite));
    }
  else 
	printf ("celui que vous voulez le modifier n'existe pas");

fclose(fichier_nv);
fclose(fichier_medecin);
remove("personnel.txt");
rename("fnv.txt","personnel.txt");

}



void recherche_personnel_matricule(int ID)
{ int test;
 
personnel medecin ;
FILE *fichier_medecin  ;

fichier_medecin=fopen("personnel.txt","r");
test =0;
while(fscanf(fichier_medecin,"%s %s %d %s",(medecin.nom),(medecin.prenom),&(medecin.matricule),(medecin.specialite))!= EOF && test ==0 )
{  if (ID==(medecin.matricule))
       test=1;
}
fclose(fichier_medecin); 
if (test==0)
printf("le medecin cherché n'existe pas");
else 
printf("le medecin existe");
}








